1. Field of the Invention
Aspects of the present invention relate to a method and apparatus for transmitting a packet-based image frame, and more particularly, to a method and apparatus for transmitting an image frame by dividing an input image into intra and inter prediction frames, applying different error resilience algorithms to the intra and inter prediction frames, and performing forward error correction (FEC) on each frame.
2. Description of the Related Art
In a wired or wireless environment, a communication channel changes as time passes and a burst error frequently occurs while streaming video. Therefore, quality of service (QoS) or quality of experience (QoE) for video data may not be easily assured.
Furthermore, in general, presentation time for the video data in a reception terminal is restricted in a real-time streaming system in which data is input and output within a predetermined time. Also, presentation time for the video data in a reception terminal is restricted by a system operation (such as a mutual operation) with an external device that operates within a predetermined time and depends on temporal characteristics. Thus, the QoS by an automatic repeat-request (ARQ) may also not be easily assured.
Accordingly, a variety of methods of preventing errors from occurring when audio/video (A/V) data is transmitted in an error channel environment have been proposed. In particular, these methods are most applicable in a mobile environment (such as Internet protocol television (IPTV) and mobile television (TV)) in which video streaming data is transmitted based on an Internet protocol (IP) network.
In a packet-based network environment, forward error correction (FEC) is an algorithm that encodes transmission data to allow an error of the data to be both detectable and correctable. Thus, a reception terminal may perform error correction on the data. In general, when an error occurs in the network environment, the reception terminal performs an ARQ. However, most A/V data, such as streaming data, is transmitted in accordance with a remote desktop protocol (RDP) or a user datagram protocol (UDP), thus preventing the ARQ from being performed. Although the A/V data may be retransmitted, if a packet arrives later than the time it is to be displayed, the packet is effectively a lost packet. As described above, the FEC is performed when retransmission of data is not allowed or useless.
FIG. 1 is a diagram illustrating a conventional method of transmitting an image frame. Referring to FIG. 1, a network system includes a transmission terminal 110 and a reception terminal 120. In the transmission terminal 110, when an image source 111 inputs an image, an image encoder 112 encodes the input image. Then, a packet processing unit 113 packets the encoded image data according to a real-time transport protocol (RTP) in order to transmit the encoded image data. Next, an FEC processing unit 114 inserts codes required for error correction into the image data before the image data is externally transmitted through a network interface unit 115. An inverse process is performed in the reception terminal 120. The inverse process is performed from a network interface unit 121 to an FEC processing unit 122 to a packet processing unit 123 to an image decoder 124. Lastly, the image data is reproduced by a display unit 125.
In this case, the image encoder 112 of the transmission terminal 110 may perform motion prediction on N number of neighboring image data blocks and control an intra-updating rate by receiving reports about a network channel environment. The intra updating is an algorithm that performs intra-coding on a few macroblocks in order to prevent an error from propagating between transmitted frames.
The FEC processing unit 114 may determine an FEC encoding type by receiving reports about motions between frames and the network channel environment. In a conventional transmission method, an intra-updating rate and an FEC type that are fixed by using an operation table predetermined in accordance with a bit rate, a packet loss rate, and a burst error length are applied.
However, the above-described conventional method has the following problems. First, the conventional method does not consider an error resilience algorithm applied to a video encoder (in particular, H. 264 technology). The error resilience algorithms include: a redundant slice method in which redundant data is transmitted in slice units; an intra refresh method in which intra-coding is performed in accordance with a previously defined standard; a spare picture method in which, if a macroblock similar to a macroblock having an error exists in a reference picture, restoration is performed by using a picture including the corresponding macroblock; a flexible macroblock ordering (FMO) method in which a picture is divided into eight or less slice groups; a multiple reference picture method in which error propagation is prevented by selecting from among a plurality of reference images; a draft noise modeling method in which a propagation procedure of a noise is modeled based on an error rate; and a multiple decoding method in which an encoder statistically calculates an error on the assumption of a plurality of decoders.
In general, a structure of a group of pictures (GOP) in video data transmission is that a plurality of P frames are disposed after an I frame, and the I frame is frequently arranged at predetermined intervals. Here, an I frame and a P frame have completely different characteristics. Thus, error correction must be appropriately performed according to the characteristics of the I and P frames.
Furthermore, the conventional method is focused on real-time transmission and is not appropriate for previously stored contents, such as video on demand (VOD) data. On the other hand, if a method is focused on the VOD data, the FEC may not be adaptively applied in a network environment.